// js中实现隐式类型转转的运算：+，-，*，/
/*
强类型语言，要求实参必要跟形参的类型保持一致
强类型不允许随意的隐式类型转换，弱类型允许
弱类型在语言层面不会限制实参的类型
动态类型运行的时候才知道它的类型，切可以随意修改类型

*/

// ts中实现创建.flowconfig文件的命令：flow init 
/*
flow中表示数组：
const arr.Array<number> = [1,2,3]
const arr.number[] = [1,2,3]
*/

// flow 中函数的参数和返回值都是可以设置类型注解

// flow 中可以表示任意类型的是any 和 mixed

/*
ts工具的安装方式可以使npm install typescript -g
编译ts文件的命令是tsc fileName.ts
ts中接口类型声明的关键字是interface
定义枚举类型的关键字是enum
*/

/*
ts中接口欧的成员有可选成员，只读成员，动态成员
ts中使用class关键字定义类
ts中接口的成员前面如果加了readonly修饰，不可修改被定义的变量

*/

/*
private 关键字定义的是私有属性，只能在在类的内部访问
public定义的成员是公共成员，在类的内部，外部，子类都可以访问
protected定义的是受保护的成员，在自身属性和子类中都可以访问的到


*/